#ifndef _SENSOR_SENSOR_APP_H_
#define _SENSOR_SENSOR_APP_H_

#include "SENSOR/ultrasonic.h"

/**
 ****************************************************************************************************
 * DONE 用户变量区
 ****************************************************************************************************
 */
	

typedef enum {
    Track_LLL = 0,      //左外
    Track_LL,           //左
    Track_L,            //中左
    Track_C,            //中
    Track_R,            //中右
    Track_RR,           //右
    Track_RRR,          //右外
    Track_B,            //超出
    Track_S             //异常
}Track_Area;

extern uint16_t track_Data;

#define TRACK_GETDATA_MODE 1


#if TRACK_GETDATA_MODE == 1


#define OUT1_	HAL_GPIO_ReadPin(OUT1_GPIO_Port,OUT1_Pin)
#define OUT2_	HAL_GPIO_ReadPin(OUT2_GPIO_Port,OUT2_Pin)
#define OUT3_	HAL_GPIO_ReadPin(OUT3_GPIO_Port,OUT3_Pin)
#define OUT4_	HAL_GPIO_ReadPin(OUT4_GPIO_Port,OUT4_Pin)
#define OUT5_	HAL_GPIO_ReadPin(OUT5_GPIO_Port,OUT5_Pin)

#define Track_Data	((OUT1_<<4)|(OUT2_<<3)|(OUT3_<<2)|(OUT4_<<1)|(OUT5_))


#endif

/**
 ****************************************************************************************************
 * DONE 用户函数区
 ****************************************************************************************************
 */


/**
 * @name 传感器初始化
 * @brief 超声波传感器初始化
 */
void SENSOR_Init(void);

/**
 * @name 循迹处理数据函数
 * @brief 处理循迹模块传入的数据
 * @retval TracK_dir 循迹区域标志，Track_Area 类型
 */
Track_Area SENSOR_Track_Dispose(void);


#endif

